home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-03 / qbasicpg.zip / MAXSALES.BAS < prev    next >
BASIC Source File  |  1989-08-31  |  2KB  |  56 lines

  1. ' MAXSALES.BAS
  2. ' This program reads salesperson data into three arrays and displays
  3. '   the salesperson with the highest total sales.  The maximum number
  4. '   of names that can be entered is 50; fewer can be entered by
  5. '   typing "END" for the salesperson name.
  6.  
  7. OPTION BASE 1                ' set base of all arrays to 1
  8.  
  9. DIM salesGroup$(50)          ' dimension salesGroup$ string array
  10. DIM bikesSold%(50)           ' dimension bikesSold% integer array
  11. DIM totalSales!(50)          ' dimension totalSales! floating-point array
  12.  
  13. CLS
  14.  
  15. PRINT "Follow prompts to enter bike shop data.  Type END to quit."
  16. PRINT
  17.  
  18. count% = 1                   ' initialize an array counter variable
  19.  
  20. WHILE (salesGroup$(count%) <> "END")  ' continue until name = "END"
  21.     INPUT "Enter salesperson name:  ", salesGroup$(count%)
  22.    
  23.     IF (salesGroup$(count%) <> "END") THEN
  24.         INPUT "   Bikes sold:  ", bikesSold%(count%)
  25.         INPUT "   Total sales:  $", totalSales!(count%)
  26.         PRINT
  27.         count% = count% + 1  ' increment the array counter
  28.     END IF
  29. WEND
  30.  
  31. largest! = totalSales!(1)    ' first array element is largest so far
  32. lg% = 1                      ' save array index
  33.  
  34. ' compare remaining array elements for something bigger--if one is
  35. '   found, assign it to largest! and save the array index in lg%; if
  36. '   there is a tie for the largest, return the first element found
  37.  
  38. FOR i% = 2 TO count% - 1
  39.     IF (totalSales!(i%) > largest!) THEN
  40.         largest! = totalSales!(i%)  ' save new largest value
  41.         lg% = i%                    ' save array index
  42.     END IF
  43. NEXT i%
  44.  
  45. ' initialize tmp$, a formatting template for PRINT USING
  46. tmp$ = "\               \ ###          $$####.##"
  47.  
  48. PRINT
  49. PRINT "** "; salesGroup$(lg%); " has the highest total sales **"
  50. PRINT
  51. PRINT "Salesperson     Bikes sold     Total sales"
  52. PRINT "------------------------------------------"
  53. PRINT
  54. PRINT USING tmp$; salesGroup$(lg%); bikesSold%(lg%); totalSales!(lg%)
  55.  
  56.